class Ls {
  /**
   *
   * @param page
   * @return {Ls}
   */
  create (page) {
    return this
  }

  /**
   *
   * @param config
   * @return {Ls}
   */
  config (config) {
    return this
  }

  /**
   *
   * @param handler
   * @return {Ls}
   */
  handler (handler) {
    return this
  }

  /**
   *
   * @param config
   * @return {Ls}
   */
  then (config) {
    return this
  }
}

function Header() {}
function Footer() {}
function Left() {
  return [
    Logo,
    Menu
  ]
}
function Right() {
  return [
    TableSearch,
    TableContainer,
    Table,
    TableFooter,
  ]
}
function Menu() {}
function Logo() {}
function TableSearch() {}
function TableContainer() {}
function Table() {}
function TableFooter() {}

const config = [
  Header,
  [ Left, Right ],
  Footer,
];

const handler = {
  init () {

  },
  doSomeThing () {

  }
};


const ls = new Ls(config, handler);

ls
  .create('homePage')
  .config((config) => config)
  .handler((handler) => handler);
